// readfile.cpp，本程序演示了Linux底层文件的操作-读取文件。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/socket.h>
int main()
{
	int fd;
	
	fd=open("data.txt", O_RDONLY);	// 打开文件
	if( fd == -1)
	{
		perror("open(data.txt)");
		return -1;
	}

	printf("文件描述符fd=%d\n", fd);

	int sockfd = socket(AF_INET, SOCK_STREAM, 0);
	printf("sockfd=%d\n", sockfd);
	

	char buffer[1024];
	memset(buffer, 0, sizeof(buffer));
	if(read(fd, buffer, sizeof(buffer))==-1)	// 从文件中读取数据
	{
		perror("write()"); 
		return -1;
	}

	printf("%s", buffer);
	
	//sleep(100);	// 打开/proc/<pid>/fd，查看这个进程打开的fd。

	close(fd);	// 关闭文件
}
